import java.util.Scanner;

public class Shape {
	double h;
	double r;

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		System.out.print("Please enter the radius: ");
		double r = s.nextDouble();
		System.out.print("Please enter the height: ");
		double h = s.nextDouble();
		Shape t;
		
		t = new Sphere();
		t.r = r;
		t.h = h;
		System.out.println("The volume of the sphere is: " + t.area());
		System.out.println("The surface area of the sphere is: " + t.area());
		
		t = new Cylinder();
		t.r = r;
		t.h = h;
		System.out.println("The volume of the Cylinder is: " + t.area());
		System.out.println("The surface area of the Cylinder is: " + t.area());
		
		t = new Cone();
		t.r = r;
		t.h = h;
		System.out.println("The volume of the Cone is: " + t.area());
		System.out.println("The surface area of the Cone is: " + t.area());
	}

	public double area() {
		return -1;
	}

	public double surface() {
		return -1;
	}
}

class Sphere extends Shape {
	public double area() {
		return Geometry.sphereVolume(r);
	}

	public double surface() {
		return Geometry.sphereSurface(r);
	}
}

class Cylinder extends Shape {
	public double area() {
		return Geometry.cylinderVolume(r, h);
	}

	public double surface() {
		return Geometry.cylinderSurface(r, h);
	}
}

class Cone extends Shape {
	public double area() {
		return Geometry.coneVolume(r, h);
	}

	public double surface() {
		return Geometry.coneSurface(r, h);
	}
}